using com.byt.suce.db.mapper;
using System;
using System.Data;
using System.Data.Common;
using com.byt.webcore;
using System.Collections.Generic;
using MYLSOFT.JsonSimple;

namespace com.byt.suce.db.dao {

    public interface IPkgEbxml {

        PkgEbxml.AditivoInsertParam aditivoInsert(Connection conn, Dictionary<string, string> map);

        PkgEbxml.AditivoInsertParam aditivoInsert(Connection conn, JSONObject json);

        PkgEbxml.AditivoInsertParam aditivoInsert(Connection conn);

        void aditivoInsert(Connection conn, PkgEbxml.AditivoInsertParam param);

        /* MODIFICADO POR CESAR BOCANEGRA */

        PkgEbxml.TitularCertificadoParam TitularCertificado(Connection conn, Dictionary<string, string> map);
        PkgEbxml.TitularCertificadoParam TitularCertificado(Connection conn, JSONObject json);
        PkgEbxml.TitularCertificadoParam TitularCertificado(Connection conn);
        void TitularCertificado(Connection conn, PkgEbxml.TitularCertificadoParam param);

        /* FIN DE LA MODIFICACION */

        PkgEbxml.AdjuntoInsertParam adjuntoInsert(Connection conn, Dictionary<string, string> map);

        PkgEbxml.AdjuntoInsertParam adjuntoInsert(Connection conn, JSONObject json);

        PkgEbxml.AdjuntoInsertParam adjuntoInsert(Connection conn);

        void adjuntoInsert(Connection conn, PkgEbxml.AdjuntoInsertParam param);

        PkgEbxml.AlmacenInsertParam almacenInsert(Connection conn, Dictionary<string, string> map);

        PkgEbxml.AlmacenInsertParam almacenInsert(Connection conn, JSONObject json);

        PkgEbxml.AlmacenInsertParam almacenInsert(Connection conn);

        void almacenInsert(Connection conn, PkgEbxml.AlmacenInsertParam param);

        PkgEbxml.ComposicionInsertParam composicionInsert(Connection conn, Dictionary<string, string> map);

        PkgEbxml.ComposicionInsertParam composicionInsert(Connection conn, JSONObject json);

        PkgEbxml.ComposicionInsertParam composicionInsert(Connection conn);

        void composicionInsert(Connection conn, PkgEbxml.ComposicionInsertParam param);

        //MODIF POR CESAR BOCANEGRA

        PkgEbxml.EstablecimientoInsertParam EstablecimientoInsert(Connection conn, Dictionary<string, string> map);
        PkgEbxml.EstablecimientoInsertParam EstablecimientoInsert(Connection conn, JSONObject json);
        PkgEbxml.EstablecimientoInsertParam EstablecimientoInsert(Connection conn);
        void EstablecimientoInsert(Connection conn, PkgEbxml.EstablecimientoInsertParam param);

        PkgEbxml.DestinoProdInsertParam DestinoProdInsert(Connection conn, Dictionary<string, string> map);
        PkgEbxml.DestinoProdInsertParam DestinoProdInsert(Connection conn, JSONObject json);
        PkgEbxml.DestinoProdInsertParam DestinoProdInsert(Connection conn);
        void DestinoProdInsert(Connection conn, PkgEbxml.DestinoProdInsertParam param);

        //FIN DE LA MODIFICACION

        PkgEbxml.EmpresaExtranjeraUpdateParam empresaExtranjeraUpdate(Connection conn, Dictionary<string, string> map);

        PkgEbxml.EmpresaExtranjeraUpdateParam empresaExtranjeraUpdate(Connection conn, JSONObject json);

        PkgEbxml.EmpresaExtranjeraUpdateParam empresaExtranjeraUpdate(Connection conn);

        void empresaExtranjeraUpdate(Connection conn, PkgEbxml.EmpresaExtranjeraUpdateParam param);


        PkgEbxml.EmpresaExtranjeraUpdateParam empresaExtranjeraIns(Connection conn, Dictionary<string, string> map);

        PkgEbxml.EmpresaExtranjeraUpdateParam empresaExtranjeraIns(Connection conn, JSONObject json);

        PkgEbxml.EmpresaExtranjeraUpdateParam empresaExtranjeraIns(Connection conn);

        void empresaExtranjeraIns(Connection conn, PkgEbxml.EmpresaExtranjeraUpdateParam param);


        PkgEbxml.EnvaseInsertParam envaseInsert(Connection conn, Dictionary<string, string> map);

        PkgEbxml.EnvaseInsertParam envaseInsert(Connection conn, JSONObject json);

        PkgEbxml.EnvaseInsertParam envaseInsert(Connection conn);

        void envaseInsert(Connection conn, PkgEbxml.EnvaseInsertParam param);

        PkgEbxml.LaboratorioInsertParam laboratorioInsert(Connection conn, Dictionary<string, string> map);

        PkgEbxml.LaboratorioInsertParam laboratorioInsert(Connection conn, JSONObject json);

        PkgEbxml.LaboratorioInsertParam laboratorioInsert(Connection conn);

        void laboratorioInsert(Connection conn, PkgEbxml.LaboratorioInsertParam param);

        PkgEbxml.N8GetParam n8Get(Connection conn, Dictionary<string, string> map);

        PkgEbxml.N8GetParam n8Get(Connection conn, JSONObject json);

        PkgEbxml.N8GetParam n8Get(Connection conn);

        void n8Get(Connection conn, PkgEbxml.N8GetParam param);

        PkgEbxml.N8dgs006GetParam n8dgs006Get(Connection conn, Dictionary<string, string> map);

        PkgEbxml.N8dgs006GetParam n8dgs006Get(Connection conn, JSONObject json);

        PkgEbxml.N8dgs006GetParam n8dgs006Get(Connection conn);

        void n8dgs006Get(Connection conn, PkgEbxml.N8dgs006GetParam param);


        /* MODIFICADO POR CESAR BOCANEGRA */

        PkgEbxml.N8dgs009GetParam n8dgs009Get(Connection conn, Dictionary<string, string> map);
        PkgEbxml.N8dgs009GetParam n8dgs009Get(Connection conn, JSONObject json);
        PkgEbxml.N8dgs009GetParam n8dgs009Get(Connection conn);
        void n8dgs009Get(Connection conn, PkgEbxml.N8dgs009GetParam param);

        PkgEbxml.N8dgs002GetParam n8dgs002Get(Connection conn, Dictionary<string, string> map);
        PkgEbxml.N8dgs002GetParam n8dgs002Get(Connection conn, JSONObject json);
        PkgEbxml.N8dgs002GetParam n8dgs002Get(Connection conn);
        void n8dgs002Get(Connection conn, PkgEbxml.N8dgs002GetParam param);

        //DGS003

        PkgEbxml.N8dgs003GetParam n8dgs003Get(Connection conn, Dictionary<string, string> map);
        PkgEbxml.N8dgs003GetParam n8dgs003Get(Connection conn, JSONObject json);
        PkgEbxml.N8dgs003GetParam n8dgs003Get(Connection conn);
        void n8dgs003Get(Connection conn, PkgEbxml.N8dgs003GetParam param);


        /* FIN DE LA MODIFICACION */


        PkgEbxml.PersonaUpdateParam personaUpdate(Connection conn, Dictionary<string, string> map);

        PkgEbxml.PersonaUpdateParam personaUpdate(Connection conn, JSONObject json);

        PkgEbxml.PersonaUpdateParam personaUpdate(Connection conn);

        void personaUpdate(Connection conn, PkgEbxml.PersonaUpdateParam param);

        PkgEbxml.ProductoInsertParam productoInsert(Connection conn, Dictionary<string, string> map);

        PkgEbxml.ProductoInsertParam productoInsert(Connection conn, JSONObject json);

        PkgEbxml.ProductoInsertParam productoInsert(Connection conn);

        void productoInsert(Connection conn, PkgEbxml.ProductoInsertParam param);

        PkgEbxml.ProductoInsertParam ProductoInsertDet(Connection conn, Dictionary<string, string> map);
        PkgEbxml.ProductoInsertParam ProductoInsertDet(Connection conn, JSONObject json);
        PkgEbxml.ProductoInsertParam ProductoInsertDet(Connection conn);
        void ProductoInsertDet(Connection conn, PkgEbxml.ProductoInsertParam param);

        //modificado por CESAR BOCANEGRA

        PkgEbxml.ProductoInsertParam productoInsertDetalle(Connection conn, Dictionary<string, string> map);

        PkgEbxml.ProductoInsertParam productoInsertDetalle(Connection conn, JSONObject json);

        PkgEbxml.ProductoInsertParam productoInsertDetalle(Connection conn);

        void productoInsertDetalle(Connection conn, PkgEbxml.ProductoInsertParam param);

        //fin de la modificacion

        PkgEbxml.SolicitanteInsertParam solicitanteInsert(Connection conn, Dictionary<string, string> map);

        PkgEbxml.SolicitanteInsertParam solicitanteInsert(Connection conn, JSONObject json);

        PkgEbxml.SolicitanteInsertParam solicitanteInsert(Connection conn);

        void solicitanteInsert(Connection conn, PkgEbxml.SolicitanteInsertParam param);


        PkgEbxml.SolicitanteCambioInsertParam solicitantecambioInsert(Connection conn, Dictionary<string, string> map);

        PkgEbxml.SolicitanteCambioInsertParam solicitantecambioInsert(Connection conn, JSONObject json);

        PkgEbxml.SolicitanteCambioInsertParam solicitantecambioInsert(Connection conn);

        void solicitantecambioInsert(Connection conn, PkgEbxml.SolicitanteCambioInsertParam param);


        PkgEbxml.SolicitudBorrarVersionParam solicitudBorrarVersion(Connection conn, Dictionary<string, string> map);

        PkgEbxml.SolicitudBorrarVersionParam solicitudBorrarVersion(Connection conn, JSONObject json);

        PkgEbxml.SolicitudBorrarVersionParam solicitudBorrarVersion(Connection conn);

        void solicitudBorrarVersion(Connection conn, PkgEbxml.SolicitudBorrarVersionParam param);

        PkgEbxml.SolicitudCrearVersionParam solicitudCrearVersion(Connection conn, Dictionary<string, string> map);

        PkgEbxml.SolicitudCrearVersionParam solicitudCrearVersion(Connection conn, JSONObject json);

        PkgEbxml.SolicitudCrearVersionParam solicitudCrearVersion(Connection conn);

        void solicitudCrearVersion(Connection conn, PkgEbxml.SolicitudCrearVersionParam param);

        PkgEbxml.SolicitudInsertParam solicitudInsert(Connection conn, Dictionary<string, string> map);

        PkgEbxml.SolicitudInsertParam solicitudInsert(Connection conn, JSONObject json);

        PkgEbxml.SolicitudInsertParam solicitudInsert(Connection conn);

        void solicitudInsert(Connection conn, PkgEbxml.SolicitudInsertParam param);

        PkgEbxml.SolicitudEspecificacionInsertParam solicitudespecificacionInsert(Connection conn, Dictionary<string, string> map);

        PkgEbxml.SolicitudEspecificacionInsertParam solicitudespecificacionInsert(Connection conn, JSONObject json);

        PkgEbxml.SolicitudEspecificacionInsertParam solicitudespecificacionInsert(Connection conn);

        void solicitudespecificacionInsert(Connection conn, PkgEbxml.SolicitudEspecificacionInsertParam param);

        PkgEbxml.LaboratorioCertificadoInsertParam laboratoriocertificadoInsert(Connection conn, Dictionary<string, string> map);

        PkgEbxml.LaboratorioCertificadoInsertParam laboratoriocertificadoInsert(Connection conn, JSONObject json);

        PkgEbxml.LaboratorioCertificadoInsertParam laboratoriocertificadoInsert(Connection conn);

        void laboratoriocertificadoInsert(Connection conn, PkgEbxml.LaboratorioCertificadoInsertParam param);

        PkgEbxml.AditivoInsertParam newAditivoInsertParam();

        PkgEbxml.AditivoInsertParam newAditivoInsertParam(Dictionary<string, string> map);

        PkgEbxml.AditivoInsertParam newAditivoInsertParam(JSONObject json);

        PkgEbxml.AdjuntoInsertParam newAdjuntoInsertParam();

        PkgEbxml.AdjuntoInsertParam newAdjuntoInsertParam(Dictionary<string, string> map);

        PkgEbxml.AdjuntoInsertParam newAdjuntoInsertParam(JSONObject json);

        PkgEbxml.AlmacenInsertParam newAlmacenInsertParam();

        PkgEbxml.AlmacenInsertParam newAlmacenInsertParam(Dictionary<string, string> map);

        PkgEbxml.AlmacenInsertParam newAlmacenInsertParam(JSONObject json);

        PkgEbxml.ComposicionInsertParam newComposicionInsertParam();

        PkgEbxml.ComposicionInsertParam newComposicionInsertParam(Dictionary<string, string> map);

        PkgEbxml.ComposicionInsertParam newComposicionInsertParam(JSONObject json);

        PkgEbxml.EmpresaExtranjeraUpdateParam newEmpresaExtranjeraUpdateParam();

        PkgEbxml.EmpresaExtranjeraUpdateParam newEmpresaExtranjeraUpdateParam(Dictionary<string, string> map);

        PkgEbxml.EmpresaExtranjeraUpdateParam newEmpresaExtranjeraUpdateParam(JSONObject json);

        PkgEbxml.EnvaseInsertParam newEnvaseInsertParam();

        PkgEbxml.EnvaseInsertParam newEnvaseInsertParam(Dictionary<string, string> map);

        PkgEbxml.EnvaseInsertParam newEnvaseInsertParam(JSONObject json);

        PkgEbxml.LaboratorioInsertParam newLaboratorioInsertParam();

        PkgEbxml.LaboratorioInsertParam newLaboratorioInsertParam(Dictionary<string, string> map);

        PkgEbxml.LaboratorioInsertParam newLaboratorioInsertParam(JSONObject json);

        PkgEbxml.N8GetParam newN8GetParam();

        PkgEbxml.N8GetParam newN8GetParam(Dictionary<string, string> map);

        PkgEbxml.N8GetParam newN8GetParam(JSONObject json);

        /* MODIFICADO POR CESAR BOCANEGRA */

        PkgEbxml.N8dgs002GetParam newN8dgs002GetParam();
        PkgEbxml.N8dgs002GetParam newN8dgs002GetParam(Dictionary<string, string> map);
        PkgEbxml.N8dgs002GetParam newN8dgs002GetParam(JSONObject json);

        PkgEbxml.N8dgs009GetParam newN8dgs009GetParam();
        PkgEbxml.N8dgs009GetParam newN8dgs009GetParam(Dictionary<string, string> map);
        PkgEbxml.N8dgs009GetParam newN8dgs009GetParam(JSONObject json);

        //DGS003

        PkgEbxml.N8dgs003GetParam newN8dgs003GetParam();
        PkgEbxml.N8dgs003GetParam newN8dgs003GetParam(Dictionary<string, string> map);
        PkgEbxml.N8dgs003GetParam newN8dgs003GetParam(JSONObject json);

        /* FIN DE LA MODIFICACION */

        PkgEbxml.N8dgs006GetParam newN8dgs006GetParam();

        PkgEbxml.N8dgs006GetParam newN8dgs006GetParam(Dictionary<string, string> map);

        PkgEbxml.N8dgs006GetParam newN8dgs006GetParam(JSONObject json);

        PkgEbxml.PersonaUpdateParam newPersonaUpdateParam();

        PkgEbxml.PersonaUpdateParam newPersonaUpdateParam(Dictionary<string, string> map);

        PkgEbxml.PersonaUpdateParam newPersonaUpdateParam(JSONObject json);

        /* MODIFICADO POR CESAR BOCANEGRA */

        PkgEbxml.TitularCertificadoParam newTitularCertificadoParam();
        PkgEbxml.TitularCertificadoParam newTitularCertificadoParam(Dictionary<string, string> map);
        PkgEbxml.TitularCertificadoParam newTitularCertificadoParam(JSONObject json);

        /* FIN DE LA MODIFICACION */

        PkgEbxml.ProductoInsertParam newProductoInsertParam();

        PkgEbxml.ProductoInsertParam newProductoInsertParam(Dictionary<string, string> map);

        PkgEbxml.ProductoInsertParam newProductoInsertParam(JSONObject json);

        PkgEbxml.SolicitanteInsertParam newSolicitanteInsertParam();

        PkgEbxml.SolicitanteInsertParam newSolicitanteInsertParam(Dictionary<string, string> map);

        PkgEbxml.SolicitanteInsertParam newSolicitanteInsertParam(JSONObject json);

        PkgEbxml.SolicitudBorrarVersionParam newSolicitudBorrarVersionParam();

        PkgEbxml.SolicitudBorrarVersionParam newSolicitudBorrarVersionParam(Dictionary<string, string> map);

        PkgEbxml.SolicitudBorrarVersionParam newSolicitudBorrarVersionParam(JSONObject json);

        PkgEbxml.SolicitudCrearVersionParam newSolicitudCrearVersionParam();

        PkgEbxml.SolicitudCrearVersionParam newSolicitudCrearVersionParam(Dictionary<string, string> map);

        PkgEbxml.SolicitudCrearVersionParam newSolicitudCrearVersionParam(JSONObject json);

        PkgEbxml.SolicitudInsertParam newSolicitudInsertParam();

        PkgEbxml.SolicitudInsertParam newSolicitudInsertParam(Dictionary<string, string> map);

        PkgEbxml.SolicitudInsertParam newSolicitudInsertParam(JSONObject json);

        PkgEbxml.SolicitudEspecificacionInsertParam newSolicitudEspecificacionInsertParam();

        PkgEbxml.SolicitudEspecificacionInsertParam newSolicitudEspecificacionInsertParam(Dictionary<string, string> map);

        PkgEbxml.SolicitudEspecificacionInsertParam newSolicitudEspecificacionInsertParam(JSONObject json);

        PkgEbxml.LaboratorioCertificadoInsertParam newLaboratorioCertificadoInsertParam();

        PkgEbxml.LaboratorioCertificadoInsertParam newLaboratorioCertificadoInsertParam(Dictionary<string, string> map);

        PkgEbxml.LaboratorioCertificadoInsertParam newLaboratorioCertificadoInsertParam(JSONObject json);

    }
}
